package com.akoj.anmu.service;

import com.akoj.model.domain.dto.team.*;
import com.akoj.model.domain.entity.Team;
import com.akoj.model.domain.vo.LoginUserVO;
import com.akoj.model.domain.vo.TeamVO;
import com.baomidou.mybatisplus.extension.service.IService;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

/**
* @author LENOVO
* @description 针对表【team(队伍)】的数据库操作Service
* @createDate 2024-10-24 19:30:28
*/
public interface TeamService extends IService<Team> {

    Long addTeam(TeamAddRequest teamAddRequest, LoginUserVO currentUser);

    List<TeamVO> listAllTeam(TeamQueryRequest teamQueryRequest, LoginUserVO currentUser);

    Boolean updateTeam(TeamUpdateRequest teamUpdateRequest, LoginUserVO currentUser);

    Boolean joinTeam(TeamJoinRequest teamJoinRequest, LoginUserVO currentUser);

    Boolean quitTeam(TeamQuitRequest teamQuitRequest, LoginUserVO currentUser);

    Boolean deleteTeam(TeamDeleteRequest teamDeleteRequest, LoginUserVO currentUser);

    TeamVO getTeamById(TeamQueryRequest teamQueryRequest, LoginUserVO currentUser);

    List<TeamVO> listUserCreateTeam(LoginUserVO currentUser);

    List<TeamVO> listUserJoinTeam(LoginUserVO currentUser);

    List<TeamVO> listUserNotJoinTeam(LoginUserVO currentUser);
}
